package com.lcj.aoch.rule.bean;

public class Voucher {
  public void setRemark(String remark) {
    this.remark = remark;
  }
  
  public void setUsedCount(Integer usedCount) {
    this.usedCount = usedCount;
  }
  
  public void setType(Integer type) {
    this.type = type;
  }
  
  public void setWithAmount(String withAmount) {
    this.withAmount = withAmount;
  }
  
  public void setEndTime(String endTime) {
    this.endTime = endTime;
  }
  
  public void setStatus(Integer status) {
    this.status = status;
  }
  
  public void setTimeType(Integer timeType) {
    this.timeType = timeType;
  }
  
  public void setDays(Integer days) {
    this.days = days;
  }
  
  public void setLimitQuota(Integer limitQuota) {
    this.limitQuota = limitQuota;
  }
  
  public void setDiscount(String discount) {
    this.discount = discount;
  }
  
  public void setTakeCount(Integer takeCount) {
    this.takeCount = takeCount;
  }
  
  public void setTag(String tag) {
    this.tag = tag;
  }
  
  public void setName(String name) {
    this.name = name;
  }
  
  public void setStartTime(String startTime) {
    this.startTime = startTime;
  }
  
  public void setTotalQuota(Integer totalQuota) {
    this.totalQuota = totalQuota;
  }
  
  public Voucher(String remark, Integer usedCount, Integer type, String withAmount, String endTime, Integer status, Integer timeType, Integer days, Integer limitQuota, String discount, Integer takeCount, String tag, String name, String startTime, Integer totalQuota) {
    this.remark = remark;
    this.usedCount = usedCount;
    this.type = type;
    this.withAmount = withAmount;
    this.endTime = endTime;
    this.status = status;
    this.timeType = timeType;
    this.days = days;
    this.limitQuota = limitQuota;
    this.discount = discount;
    this.takeCount = takeCount;
    this.tag = tag;
    this.name = name;
    this.startTime = startTime;
    this.totalQuota = totalQuota;
  }
  
  public String toString() {
    return "Voucher(remark=" + getRemark() + ", usedCount=" + getUsedCount() + ", type=" + getType() + ", withAmount=" + getWithAmount() + ", endTime=" + getEndTime() + ", status=" + getStatus() + ", timeType=" + getTimeType() + ", days=" + getDays() + ", limitQuota=" + getLimitQuota() + ", discount=" + getDiscount() + ", takeCount=" + getTakeCount() + ", tag=" + getTag() + ", name=" + getName() + ", startTime=" + getStartTime() + ", totalQuota=" + getTotalQuota() + ")";
  }
  
  public boolean equals(Object o) {
    if (o == this)
      return true; 
    if (!(o instanceof Voucher))
      return false; 
    Voucher other = (Voucher)o;
    if (!other.canEqual(this))
      return false; 
    Object this$usedCount = getUsedCount(), other$usedCount = other.getUsedCount();
    if ((this$usedCount == null) ? (other$usedCount != null) : !this$usedCount.equals(other$usedCount))
      return false; 
    Object this$type = getType(), other$type = other.getType();
    if ((this$type == null) ? (other$type != null) : !this$type.equals(other$type))
      return false; 
    Object this$status = getStatus(), other$status = other.getStatus();
    if ((this$status == null) ? (other$status != null) : !this$status.equals(other$status))
      return false; 
    Object this$timeType = getTimeType(), other$timeType = other.getTimeType();
    if ((this$timeType == null) ? (other$timeType != null) : !this$timeType.equals(other$timeType))
      return false; 
    Object this$days = getDays(), other$days = other.getDays();
    if ((this$days == null) ? (other$days != null) : !this$days.equals(other$days))
      return false; 
    Object this$limitQuota = getLimitQuota(), other$limitQuota = other.getLimitQuota();
    if ((this$limitQuota == null) ? (other$limitQuota != null) : !this$limitQuota.equals(other$limitQuota))
      return false; 
    Object this$takeCount = getTakeCount(), other$takeCount = other.getTakeCount();
    if ((this$takeCount == null) ? (other$takeCount != null) : !this$takeCount.equals(other$takeCount))
      return false; 
    Object this$totalQuota = getTotalQuota(), other$totalQuota = other.getTotalQuota();
    if ((this$totalQuota == null) ? (other$totalQuota != null) : !this$totalQuota.equals(other$totalQuota))
      return false; 
    Object this$remark = getRemark(), other$remark = other.getRemark();
    if ((this$remark == null) ? (other$remark != null) : !this$remark.equals(other$remark))
      return false; 
    Object this$withAmount = getWithAmount(), other$withAmount = other.getWithAmount();
    if ((this$withAmount == null) ? (other$withAmount != null) : !this$withAmount.equals(other$withAmount))
      return false; 
    Object this$endTime = getEndTime(), other$endTime = other.getEndTime();
    if ((this$endTime == null) ? (other$endTime != null) : !this$endTime.equals(other$endTime))
      return false; 
    Object this$discount = getDiscount(), other$discount = other.getDiscount();
    if ((this$discount == null) ? (other$discount != null) : !this$discount.equals(other$discount))
      return false; 
    Object this$tag = getTag(), other$tag = other.getTag();
    if ((this$tag == null) ? (other$tag != null) : !this$tag.equals(other$tag))
      return false; 
    Object this$name = getName(), other$name = other.getName();
    if ((this$name == null) ? (other$name != null) : !this$name.equals(other$name))
      return false; 
    Object this$startTime = getStartTime(), other$startTime = other.getStartTime();
    return !((this$startTime == null) ? (other$startTime != null) : !this$startTime.equals(other$startTime));
  }
  
  protected boolean canEqual(Object other) {
    return other instanceof Voucher;
  }
  
  public int hashCode() {
    int PRIME = 59;
    int result = 1;
    Object $usedCount = getUsedCount();
    result = result * 59 + (($usedCount == null) ? 43 : $usedCount.hashCode());
    Object $type = getType();
    result = result * 59 + (($type == null) ? 43 : $type.hashCode());
    Object $status = getStatus();
    result = result * 59 + (($status == null) ? 43 : $status.hashCode());
    Object $timeType = getTimeType();
    result = result * 59 + (($timeType == null) ? 43 : $timeType.hashCode());
    Object $days = getDays();
    result = result * 59 + (($days == null) ? 43 : $days.hashCode());
    Object $limitQuota = getLimitQuota();
    result = result * 59 + (($limitQuota == null) ? 43 : $limitQuota.hashCode());
    Object $takeCount = getTakeCount();
    result = result * 59 + (($takeCount == null) ? 43 : $takeCount.hashCode());
    Object $totalQuota = getTotalQuota();
    result = result * 59 + (($totalQuota == null) ? 43 : $totalQuota.hashCode());
    Object $remark = getRemark();
    result = result * 59 + (($remark == null) ? 43 : $remark.hashCode());
    Object $withAmount = getWithAmount();
    result = result * 59 + (($withAmount == null) ? 43 : $withAmount.hashCode());
    Object $endTime = getEndTime();
    result = result * 59 + (($endTime == null) ? 43 : $endTime.hashCode());
    Object $discount = getDiscount();
    result = result * 59 + (($discount == null) ? 43 : $discount.hashCode());
    Object $tag = getTag();
    result = result * 59 + (($tag == null) ? 43 : $tag.hashCode());
    Object $name = getName();
    result = result * 59 + (($name == null) ? 43 : $name.hashCode());
    Object $startTime = getStartTime();
    return result * 59 + (($startTime == null) ? 43 : $startTime.hashCode());
  }
  
  private String remark = "订单取消系统补偿的代金券";
  
  public String getRemark() {
    return this.remark;
  }
  
  private Integer usedCount = Integer.valueOf(0);
  
  public Integer getUsedCount() {
    return this.usedCount;
  }
  
  private Integer type = Integer.valueOf(1);
  
  public Integer getType() {
    return this.type;
  }
  
  private String withAmount = "0";
  
  private String endTime;
  
  public String getWithAmount() {
    return this.withAmount;
  }
  
  public String getEndTime() {
    return this.endTime;
  }
  
  private Integer status = Integer.valueOf(1);
  
  private Integer timeType;
  
  private Integer days;
  
  public Integer getStatus() {
    return this.status;
  }
  
  public Integer getTimeType() {
    return this.timeType;
  }
  
  public Integer getDays() {
    return this.days;
  }
  
  private Integer limitQuota = Integer.valueOf(1);
  
  private String discount;
  
  public Integer getLimitQuota() {
    return this.limitQuota;
  }
  
  public String getDiscount() {
    return this.discount;
  }
  
  private Integer takeCount = Integer.valueOf(1);
  
  public Integer getTakeCount() {
    return this.takeCount;
  }
  
  private String tag = "补偿券";
  
  private String name;
  
  private String startTime;
  
  public String getTag() {
    return this.tag;
  }
  
  public String getName() {
    return this.name;
  }
  
  public String getStartTime() {
    return this.startTime;
  }
  
  private Integer totalQuota = Integer.valueOf(1);
  
  public Integer getTotalQuota() {
    return this.totalQuota;
  }
  
  public Voucher() {}
}
